<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script>
      // 创建一个字符串
      var str = "hello Atguigu";

      /**
       * 在底层字符串是以字符数组的形式保存的
       * ["H","e","1"]
       */
      //  length可以获取字符串的长度
      // console.log(str.length);

      /**
       * charAt()
       *     可以返回字符串中指定位置的字符
       *     根据索引获取指定位置的字符
       */
      str = "hello Atguigu";
      var result = str.charAt(0);

      /**
       * charCodeAt()
       *   获取指定位置字符的字符编码（Unicode编码）
       */
      result = str.charCodeAt(0);

      /**
       * formCharCode()
       *   根据字符编码获取字符
       */
      result = String.fromCharCode(20035);

      /**concant()
       *   可以用来连接两个或多个字符串
       * 作用和+一样
       */
      result = str.concat("你好", "再见");

      /**
       * indexof()
       *     可以检索一个字符串中是否含有指定内容
       *     如果字符串中含有该内容，则会返回其第一次出现的索引
       *        如果没有找到指定内容，则返回-1
       *     可以指定一个第二个参数，指定开始查找的位置
       * lastIndexof();
       *     该方法和indexof()一样
       *        不同的是indexof()是从前往后找，
       *        而lastIndexof()是从后往前找
       */
      str = "hello Atguigu";
      result = str.indexOf("h");
      result = str.lastIndexof("h");

      /**slice()
       * 可以从字符串中截取指定的内容
       * 不会影响原字符串，而是将截取内容返回
       * 参数：
       *    第一个，开始位置的索引（包括开始位置）
       *    第二个，结束位置的索引（不包括开始位置）
       *          如果省略第二个参数，则会截取到后边所有的
       *        也可以传递一个负数作为参数，负数的话会从后边计算
       *
       */

      result = str = "abcdefghijk";
      str.slice(0, 2);
      str.slice(1, -1);

      /**
       * substring()
       *   可以用来截取一个字符串，可以slice（）类似
       *    第一个，开始位置的索引（包括开始位置）
       *    第二个，结束位置的索引（不包括开始位置）
       *    不同的是不能接受负值，
       *    如果传递一个负值，则默认使用0
       *   他自动调整参数的位置，如果第二个小于第一个，则自动交换
       */

      /**
       * substr()
       *  用来截取字符串
       * 参数：
       *   1.截取开始位置的索引
       *   2.截取的长度
       */
      str = "abcdefg";
      result = str.substr(1, 2);
      /**
       * split()
       * 可以将一个字符串拆分为一个数组
       *  参数：
       *    需要一个字符串作为参数，会根据该字符串去拆分数组
       */
      str = "abc,bcd,efg,hij";
      result = str.split(",");
      // console.log(result[2]);
      str = "abcdefg";

      /**
       * toUpperCase()
       * 将字符串转换为大写并返回
       * toLowerCase()
       * 将字符串转换为小写并返回
       */
      result = str.toUpperCase();
    </script>
  </head>
  <body></body>
</html>
